﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Quotation.Option
{
    public class TickInfo : TickInfoBase
    {
        /// <summary>
        /// 总买量
        /// </summary>
        public Int64 TotalBuyQty { get; set; }

        /// <summary>
        /// 总买差量
        /// </summary>
        public Int64 TotalBuyQtyDiff { get; set; }

        /// <summary>
        /// 总卖量
        /// </summary>
        public Int64 TotalSellQty { get; set; }

        /// <summary>
        /// 总卖差量
        /// </summary>
        public Int64 TotalSellQtyDiff { get; set; }

        /// <summary>
        /// 委差
        /// </summary>
        public Int64 VolumeDiff { get; set; }

        /// <summary>
        /// 委比
        /// </summary>
        public double VolumeRate { get; set; }


        /// <summary>
        /// 当前持仓
        /// </summary>
        public Int64 OpenPosition { get; set; }

        /// <summary>
        /// 仓差
        /// </summary>
        public Int64 PositDiff { get; set; }

        /// <summary>
        /// 买卖性质
        /// </summary>
        public BSType BSType { get; set; }


        /// <summary>
        /// 理论价格
        /// </summary>
        public double TheoreticalPrice { get; set; }

        /// <summary>
        /// 衡量标的资产价格变动时，期权价格的变化幅度
        /// </summary>
        public double Delta { get; set; }

        /// <summary>
        /// 衡量标的资产价格变动时，期权Delta值的变化幅度
        /// </summary>
        public double Gamma { get; set; }

        /// <summary>
        /// 衡量随着时间的消逝，期权价格的变化幅度
        /// </summary>
        public double Theta { get; set; }

        /// <summary>
        /// 衡量标的资产价格波动率变动时，期权价格的变化幅度
        /// </summary>
        public double Vega { get; set; }

        /// <summary>
        /// 衡量利率变动时，期权价格的变化幅度
        /// </summary>
        public double Rho { get; set; }

        /// <summary>
        /// 隐含波动率
        /// </summary>
        /// <remarks>
        /// 当无法计算出隐含波动率时，会将此属性赋值为double.NaN
        /// </remarks>
        public double IV { get; set; }
       
    }
}
